package com.doit.day01

/**
 * 在java中怎么定义变量和常量
 * int a = 10; 变量
 *
 * final int a = 20;  常量
 *
 *
 * val 代表的就是常量  ==》value   值
 *
 * var 代表的是变量 ==》 variable  可变的
 *
 */
object _01_变量和常量 {
  implicit val a:Int = 100
  implicit val b:String = "100"
  implicit def str2Bird(str:Int)={
    new Bird(str)
  }

  class Bird(str:Int){
    def fly()={
      println(str+":飞起来了")
    }

    def eat()={
      println("chichichi")
    }
  }

  def main(args: Array[String]): Unit = {

    //常量  不能修改
    val a:Int = 10
    //值不能被修改
//    a = 20

    //变量 可以修改的
    var b:Int = 20
    b = 10

    //不管是变量还是常量，定义的时候，都必须赋值
    //变量定义的时候，可以不写类型,他会根据你穿进去的值做自动的推断
    val c = 20
    println(c.getClass)//int
    val str = "zss"
    println(str.getClass)//class java.lang.String

    //正常情况下，推荐使用val 还是var呢
    //推荐使用val





  }
}
